package com.chengyu.core.model;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class WalkTrendsDownloadExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public WalkTrendsDownloadExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andDownloadWalkMemberIdIsNull() {
            addCriterion("download_walk_member_id is null");
            return (Criteria) this;
        }

        public Criteria andDownloadWalkMemberIdIsNotNull() {
            addCriterion("download_walk_member_id is not null");
            return (Criteria) this;
        }

        public Criteria andDownloadWalkMemberIdEqualTo(Integer value) {
            addCriterion("download_walk_member_id =", value, "downloadWalkMemberId");
            return (Criteria) this;
        }

        public Criteria andDownloadWalkMemberIdNotEqualTo(Integer value) {
            addCriterion("download_walk_member_id <>", value, "downloadWalkMemberId");
            return (Criteria) this;
        }

        public Criteria andDownloadWalkMemberIdGreaterThan(Integer value) {
            addCriterion("download_walk_member_id >", value, "downloadWalkMemberId");
            return (Criteria) this;
        }

        public Criteria andDownloadWalkMemberIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("download_walk_member_id >=", value, "downloadWalkMemberId");
            return (Criteria) this;
        }

        public Criteria andDownloadWalkMemberIdLessThan(Integer value) {
            addCriterion("download_walk_member_id <", value, "downloadWalkMemberId");
            return (Criteria) this;
        }

        public Criteria andDownloadWalkMemberIdLessThanOrEqualTo(Integer value) {
            addCriterion("download_walk_member_id <=", value, "downloadWalkMemberId");
            return (Criteria) this;
        }

        public Criteria andDownloadWalkMemberIdIn(List<Integer> values) {
            addCriterion("download_walk_member_id in", values, "downloadWalkMemberId");
            return (Criteria) this;
        }

        public Criteria andDownloadWalkMemberIdNotIn(List<Integer> values) {
            addCriterion("download_walk_member_id not in", values, "downloadWalkMemberId");
            return (Criteria) this;
        }

        public Criteria andDownloadWalkMemberIdBetween(Integer value1, Integer value2) {
            addCriterion("download_walk_member_id between", value1, value2, "downloadWalkMemberId");
            return (Criteria) this;
        }

        public Criteria andDownloadWalkMemberIdNotBetween(Integer value1, Integer value2) {
            addCriterion("download_walk_member_id not between", value1, value2, "downloadWalkMemberId");
            return (Criteria) this;
        }

        public Criteria andDownloadWalkMemberNameIsNull() {
            addCriterion("download_walk_member_name is null");
            return (Criteria) this;
        }

        public Criteria andDownloadWalkMemberNameIsNotNull() {
            addCriterion("download_walk_member_name is not null");
            return (Criteria) this;
        }

        public Criteria andDownloadWalkMemberNameEqualTo(String value) {
            addCriterion("download_walk_member_name =", value, "downloadWalkMemberName");
            return (Criteria) this;
        }

        public Criteria andDownloadWalkMemberNameNotEqualTo(String value) {
            addCriterion("download_walk_member_name <>", value, "downloadWalkMemberName");
            return (Criteria) this;
        }

        public Criteria andDownloadWalkMemberNameGreaterThan(String value) {
            addCriterion("download_walk_member_name >", value, "downloadWalkMemberName");
            return (Criteria) this;
        }

        public Criteria andDownloadWalkMemberNameGreaterThanOrEqualTo(String value) {
            addCriterion("download_walk_member_name >=", value, "downloadWalkMemberName");
            return (Criteria) this;
        }

        public Criteria andDownloadWalkMemberNameLessThan(String value) {
            addCriterion("download_walk_member_name <", value, "downloadWalkMemberName");
            return (Criteria) this;
        }

        public Criteria andDownloadWalkMemberNameLessThanOrEqualTo(String value) {
            addCriterion("download_walk_member_name <=", value, "downloadWalkMemberName");
            return (Criteria) this;
        }

        public Criteria andDownloadWalkMemberNameLike(String value) {
            addCriterion("download_walk_member_name like", value, "downloadWalkMemberName");
            return (Criteria) this;
        }

        public Criteria andDownloadWalkMemberNameNotLike(String value) {
            addCriterion("download_walk_member_name not like", value, "downloadWalkMemberName");
            return (Criteria) this;
        }

        public Criteria andDownloadWalkMemberNameIn(List<String> values) {
            addCriterion("download_walk_member_name in", values, "downloadWalkMemberName");
            return (Criteria) this;
        }

        public Criteria andDownloadWalkMemberNameNotIn(List<String> values) {
            addCriterion("download_walk_member_name not in", values, "downloadWalkMemberName");
            return (Criteria) this;
        }

        public Criteria andDownloadWalkMemberNameBetween(String value1, String value2) {
            addCriterion("download_walk_member_name between", value1, value2, "downloadWalkMemberName");
            return (Criteria) this;
        }

        public Criteria andDownloadWalkMemberNameNotBetween(String value1, String value2) {
            addCriterion("download_walk_member_name not between", value1, value2, "downloadWalkMemberName");
            return (Criteria) this;
        }

        public Criteria andDownloadWalkMemberHeadImgIsNull() {
            addCriterion("download_walk_member_head_img is null");
            return (Criteria) this;
        }

        public Criteria andDownloadWalkMemberHeadImgIsNotNull() {
            addCriterion("download_walk_member_head_img is not null");
            return (Criteria) this;
        }

        public Criteria andDownloadWalkMemberHeadImgEqualTo(String value) {
            addCriterion("download_walk_member_head_img =", value, "downloadWalkMemberHeadImg");
            return (Criteria) this;
        }

        public Criteria andDownloadWalkMemberHeadImgNotEqualTo(String value) {
            addCriterion("download_walk_member_head_img <>", value, "downloadWalkMemberHeadImg");
            return (Criteria) this;
        }

        public Criteria andDownloadWalkMemberHeadImgGreaterThan(String value) {
            addCriterion("download_walk_member_head_img >", value, "downloadWalkMemberHeadImg");
            return (Criteria) this;
        }

        public Criteria andDownloadWalkMemberHeadImgGreaterThanOrEqualTo(String value) {
            addCriterion("download_walk_member_head_img >=", value, "downloadWalkMemberHeadImg");
            return (Criteria) this;
        }

        public Criteria andDownloadWalkMemberHeadImgLessThan(String value) {
            addCriterion("download_walk_member_head_img <", value, "downloadWalkMemberHeadImg");
            return (Criteria) this;
        }

        public Criteria andDownloadWalkMemberHeadImgLessThanOrEqualTo(String value) {
            addCriterion("download_walk_member_head_img <=", value, "downloadWalkMemberHeadImg");
            return (Criteria) this;
        }

        public Criteria andDownloadWalkMemberHeadImgLike(String value) {
            addCriterion("download_walk_member_head_img like", value, "downloadWalkMemberHeadImg");
            return (Criteria) this;
        }

        public Criteria andDownloadWalkMemberHeadImgNotLike(String value) {
            addCriterion("download_walk_member_head_img not like", value, "downloadWalkMemberHeadImg");
            return (Criteria) this;
        }

        public Criteria andDownloadWalkMemberHeadImgIn(List<String> values) {
            addCriterion("download_walk_member_head_img in", values, "downloadWalkMemberHeadImg");
            return (Criteria) this;
        }

        public Criteria andDownloadWalkMemberHeadImgNotIn(List<String> values) {
            addCriterion("download_walk_member_head_img not in", values, "downloadWalkMemberHeadImg");
            return (Criteria) this;
        }

        public Criteria andDownloadWalkMemberHeadImgBetween(String value1, String value2) {
            addCriterion("download_walk_member_head_img between", value1, value2, "downloadWalkMemberHeadImg");
            return (Criteria) this;
        }

        public Criteria andDownloadWalkMemberHeadImgNotBetween(String value1, String value2) {
            addCriterion("download_walk_member_head_img not between", value1, value2, "downloadWalkMemberHeadImg");
            return (Criteria) this;
        }

        public Criteria andPublishWalkMemberIdIsNull() {
            addCriterion("publish_walk_member_id is null");
            return (Criteria) this;
        }

        public Criteria andPublishWalkMemberIdIsNotNull() {
            addCriterion("publish_walk_member_id is not null");
            return (Criteria) this;
        }

        public Criteria andPublishWalkMemberIdEqualTo(Integer value) {
            addCriterion("publish_walk_member_id =", value, "publishWalkMemberId");
            return (Criteria) this;
        }

        public Criteria andPublishWalkMemberIdNotEqualTo(Integer value) {
            addCriterion("publish_walk_member_id <>", value, "publishWalkMemberId");
            return (Criteria) this;
        }

        public Criteria andPublishWalkMemberIdGreaterThan(Integer value) {
            addCriterion("publish_walk_member_id >", value, "publishWalkMemberId");
            return (Criteria) this;
        }

        public Criteria andPublishWalkMemberIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("publish_walk_member_id >=", value, "publishWalkMemberId");
            return (Criteria) this;
        }

        public Criteria andPublishWalkMemberIdLessThan(Integer value) {
            addCriterion("publish_walk_member_id <", value, "publishWalkMemberId");
            return (Criteria) this;
        }

        public Criteria andPublishWalkMemberIdLessThanOrEqualTo(Integer value) {
            addCriterion("publish_walk_member_id <=", value, "publishWalkMemberId");
            return (Criteria) this;
        }

        public Criteria andPublishWalkMemberIdIn(List<Integer> values) {
            addCriterion("publish_walk_member_id in", values, "publishWalkMemberId");
            return (Criteria) this;
        }

        public Criteria andPublishWalkMemberIdNotIn(List<Integer> values) {
            addCriterion("publish_walk_member_id not in", values, "publishWalkMemberId");
            return (Criteria) this;
        }

        public Criteria andPublishWalkMemberIdBetween(Integer value1, Integer value2) {
            addCriterion("publish_walk_member_id between", value1, value2, "publishWalkMemberId");
            return (Criteria) this;
        }

        public Criteria andPublishWalkMemberIdNotBetween(Integer value1, Integer value2) {
            addCriterion("publish_walk_member_id not between", value1, value2, "publishWalkMemberId");
            return (Criteria) this;
        }

        public Criteria andPublishWalkMemberNameIsNull() {
            addCriterion("publish_walk_member_name is null");
            return (Criteria) this;
        }

        public Criteria andPublishWalkMemberNameIsNotNull() {
            addCriterion("publish_walk_member_name is not null");
            return (Criteria) this;
        }

        public Criteria andPublishWalkMemberNameEqualTo(String value) {
            addCriterion("publish_walk_member_name =", value, "publishWalkMemberName");
            return (Criteria) this;
        }

        public Criteria andPublishWalkMemberNameNotEqualTo(String value) {
            addCriterion("publish_walk_member_name <>", value, "publishWalkMemberName");
            return (Criteria) this;
        }

        public Criteria andPublishWalkMemberNameGreaterThan(String value) {
            addCriterion("publish_walk_member_name >", value, "publishWalkMemberName");
            return (Criteria) this;
        }

        public Criteria andPublishWalkMemberNameGreaterThanOrEqualTo(String value) {
            addCriterion("publish_walk_member_name >=", value, "publishWalkMemberName");
            return (Criteria) this;
        }

        public Criteria andPublishWalkMemberNameLessThan(String value) {
            addCriterion("publish_walk_member_name <", value, "publishWalkMemberName");
            return (Criteria) this;
        }

        public Criteria andPublishWalkMemberNameLessThanOrEqualTo(String value) {
            addCriterion("publish_walk_member_name <=", value, "publishWalkMemberName");
            return (Criteria) this;
        }

        public Criteria andPublishWalkMemberNameLike(String value) {
            addCriterion("publish_walk_member_name like", value, "publishWalkMemberName");
            return (Criteria) this;
        }

        public Criteria andPublishWalkMemberNameNotLike(String value) {
            addCriterion("publish_walk_member_name not like", value, "publishWalkMemberName");
            return (Criteria) this;
        }

        public Criteria andPublishWalkMemberNameIn(List<String> values) {
            addCriterion("publish_walk_member_name in", values, "publishWalkMemberName");
            return (Criteria) this;
        }

        public Criteria andPublishWalkMemberNameNotIn(List<String> values) {
            addCriterion("publish_walk_member_name not in", values, "publishWalkMemberName");
            return (Criteria) this;
        }

        public Criteria andPublishWalkMemberNameBetween(String value1, String value2) {
            addCriterion("publish_walk_member_name between", value1, value2, "publishWalkMemberName");
            return (Criteria) this;
        }

        public Criteria andPublishWalkMemberNameNotBetween(String value1, String value2) {
            addCriterion("publish_walk_member_name not between", value1, value2, "publishWalkMemberName");
            return (Criteria) this;
        }

        public Criteria andPublishWalkMemberHeadImgIsNull() {
            addCriterion("publish_walk_member_head_img is null");
            return (Criteria) this;
        }

        public Criteria andPublishWalkMemberHeadImgIsNotNull() {
            addCriterion("publish_walk_member_head_img is not null");
            return (Criteria) this;
        }

        public Criteria andPublishWalkMemberHeadImgEqualTo(String value) {
            addCriterion("publish_walk_member_head_img =", value, "publishWalkMemberHeadImg");
            return (Criteria) this;
        }

        public Criteria andPublishWalkMemberHeadImgNotEqualTo(String value) {
            addCriterion("publish_walk_member_head_img <>", value, "publishWalkMemberHeadImg");
            return (Criteria) this;
        }

        public Criteria andPublishWalkMemberHeadImgGreaterThan(String value) {
            addCriterion("publish_walk_member_head_img >", value, "publishWalkMemberHeadImg");
            return (Criteria) this;
        }

        public Criteria andPublishWalkMemberHeadImgGreaterThanOrEqualTo(String value) {
            addCriterion("publish_walk_member_head_img >=", value, "publishWalkMemberHeadImg");
            return (Criteria) this;
        }

        public Criteria andPublishWalkMemberHeadImgLessThan(String value) {
            addCriterion("publish_walk_member_head_img <", value, "publishWalkMemberHeadImg");
            return (Criteria) this;
        }

        public Criteria andPublishWalkMemberHeadImgLessThanOrEqualTo(String value) {
            addCriterion("publish_walk_member_head_img <=", value, "publishWalkMemberHeadImg");
            return (Criteria) this;
        }

        public Criteria andPublishWalkMemberHeadImgLike(String value) {
            addCriterion("publish_walk_member_head_img like", value, "publishWalkMemberHeadImg");
            return (Criteria) this;
        }

        public Criteria andPublishWalkMemberHeadImgNotLike(String value) {
            addCriterion("publish_walk_member_head_img not like", value, "publishWalkMemberHeadImg");
            return (Criteria) this;
        }

        public Criteria andPublishWalkMemberHeadImgIn(List<String> values) {
            addCriterion("publish_walk_member_head_img in", values, "publishWalkMemberHeadImg");
            return (Criteria) this;
        }

        public Criteria andPublishWalkMemberHeadImgNotIn(List<String> values) {
            addCriterion("publish_walk_member_head_img not in", values, "publishWalkMemberHeadImg");
            return (Criteria) this;
        }

        public Criteria andPublishWalkMemberHeadImgBetween(String value1, String value2) {
            addCriterion("publish_walk_member_head_img between", value1, value2, "publishWalkMemberHeadImg");
            return (Criteria) this;
        }

        public Criteria andPublishWalkMemberHeadImgNotBetween(String value1, String value2) {
            addCriterion("publish_walk_member_head_img not between", value1, value2, "publishWalkMemberHeadImg");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsIdIsNull() {
            addCriterion("publish_goods_id is null");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsIdIsNotNull() {
            addCriterion("publish_goods_id is not null");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsIdEqualTo(Integer value) {
            addCriterion("publish_goods_id =", value, "publishGoodsId");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsIdNotEqualTo(Integer value) {
            addCriterion("publish_goods_id <>", value, "publishGoodsId");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsIdGreaterThan(Integer value) {
            addCriterion("publish_goods_id >", value, "publishGoodsId");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("publish_goods_id >=", value, "publishGoodsId");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsIdLessThan(Integer value) {
            addCriterion("publish_goods_id <", value, "publishGoodsId");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsIdLessThanOrEqualTo(Integer value) {
            addCriterion("publish_goods_id <=", value, "publishGoodsId");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsIdIn(List<Integer> values) {
            addCriterion("publish_goods_id in", values, "publishGoodsId");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsIdNotIn(List<Integer> values) {
            addCriterion("publish_goods_id not in", values, "publishGoodsId");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsIdBetween(Integer value1, Integer value2) {
            addCriterion("publish_goods_id between", value1, value2, "publishGoodsId");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsIdNotBetween(Integer value1, Integer value2) {
            addCriterion("publish_goods_id not between", value1, value2, "publishGoodsId");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsNameIsNull() {
            addCriterion("publish_goods_name is null");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsNameIsNotNull() {
            addCriterion("publish_goods_name is not null");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsNameEqualTo(String value) {
            addCriterion("publish_goods_name =", value, "publishGoodsName");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsNameNotEqualTo(String value) {
            addCriterion("publish_goods_name <>", value, "publishGoodsName");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsNameGreaterThan(String value) {
            addCriterion("publish_goods_name >", value, "publishGoodsName");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsNameGreaterThanOrEqualTo(String value) {
            addCriterion("publish_goods_name >=", value, "publishGoodsName");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsNameLessThan(String value) {
            addCriterion("publish_goods_name <", value, "publishGoodsName");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsNameLessThanOrEqualTo(String value) {
            addCriterion("publish_goods_name <=", value, "publishGoodsName");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsNameLike(String value) {
            addCriterion("publish_goods_name like", value, "publishGoodsName");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsNameNotLike(String value) {
            addCriterion("publish_goods_name not like", value, "publishGoodsName");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsNameIn(List<String> values) {
            addCriterion("publish_goods_name in", values, "publishGoodsName");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsNameNotIn(List<String> values) {
            addCriterion("publish_goods_name not in", values, "publishGoodsName");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsNameBetween(String value1, String value2) {
            addCriterion("publish_goods_name between", value1, value2, "publishGoodsName");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsNameNotBetween(String value1, String value2) {
            addCriterion("publish_goods_name not between", value1, value2, "publishGoodsName");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsPriceIsNull() {
            addCriterion("publish_goods_price is null");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsPriceIsNotNull() {
            addCriterion("publish_goods_price is not null");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsPriceEqualTo(BigDecimal value) {
            addCriterion("publish_goods_price =", value, "publishGoodsPrice");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsPriceNotEqualTo(BigDecimal value) {
            addCriterion("publish_goods_price <>", value, "publishGoodsPrice");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsPriceGreaterThan(BigDecimal value) {
            addCriterion("publish_goods_price >", value, "publishGoodsPrice");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsPriceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("publish_goods_price >=", value, "publishGoodsPrice");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsPriceLessThan(BigDecimal value) {
            addCriterion("publish_goods_price <", value, "publishGoodsPrice");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsPriceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("publish_goods_price <=", value, "publishGoodsPrice");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsPriceIn(List<BigDecimal> values) {
            addCriterion("publish_goods_price in", values, "publishGoodsPrice");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsPriceNotIn(List<BigDecimal> values) {
            addCriterion("publish_goods_price not in", values, "publishGoodsPrice");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsPriceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("publish_goods_price between", value1, value2, "publishGoodsPrice");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsPriceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("publish_goods_price not between", value1, value2, "publishGoodsPrice");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsHeadImgIsNull() {
            addCriterion("publish_goods_head_img is null");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsHeadImgIsNotNull() {
            addCriterion("publish_goods_head_img is not null");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsHeadImgEqualTo(String value) {
            addCriterion("publish_goods_head_img =", value, "publishGoodsHeadImg");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsHeadImgNotEqualTo(String value) {
            addCriterion("publish_goods_head_img <>", value, "publishGoodsHeadImg");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsHeadImgGreaterThan(String value) {
            addCriterion("publish_goods_head_img >", value, "publishGoodsHeadImg");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsHeadImgGreaterThanOrEqualTo(String value) {
            addCriterion("publish_goods_head_img >=", value, "publishGoodsHeadImg");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsHeadImgLessThan(String value) {
            addCriterion("publish_goods_head_img <", value, "publishGoodsHeadImg");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsHeadImgLessThanOrEqualTo(String value) {
            addCriterion("publish_goods_head_img <=", value, "publishGoodsHeadImg");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsHeadImgLike(String value) {
            addCriterion("publish_goods_head_img like", value, "publishGoodsHeadImg");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsHeadImgNotLike(String value) {
            addCriterion("publish_goods_head_img not like", value, "publishGoodsHeadImg");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsHeadImgIn(List<String> values) {
            addCriterion("publish_goods_head_img in", values, "publishGoodsHeadImg");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsHeadImgNotIn(List<String> values) {
            addCriterion("publish_goods_head_img not in", values, "publishGoodsHeadImg");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsHeadImgBetween(String value1, String value2) {
            addCriterion("publish_goods_head_img between", value1, value2, "publishGoodsHeadImg");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsHeadImgNotBetween(String value1, String value2) {
            addCriterion("publish_goods_head_img not between", value1, value2, "publishGoodsHeadImg");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsTrailerLinkIsNull() {
            addCriterion("publish_goods_trailer_link is null");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsTrailerLinkIsNotNull() {
            addCriterion("publish_goods_trailer_link is not null");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsTrailerLinkEqualTo(String value) {
            addCriterion("publish_goods_trailer_link =", value, "publishGoodsTrailerLink");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsTrailerLinkNotEqualTo(String value) {
            addCriterion("publish_goods_trailer_link <>", value, "publishGoodsTrailerLink");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsTrailerLinkGreaterThan(String value) {
            addCriterion("publish_goods_trailer_link >", value, "publishGoodsTrailerLink");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsTrailerLinkGreaterThanOrEqualTo(String value) {
            addCriterion("publish_goods_trailer_link >=", value, "publishGoodsTrailerLink");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsTrailerLinkLessThan(String value) {
            addCriterion("publish_goods_trailer_link <", value, "publishGoodsTrailerLink");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsTrailerLinkLessThanOrEqualTo(String value) {
            addCriterion("publish_goods_trailer_link <=", value, "publishGoodsTrailerLink");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsTrailerLinkLike(String value) {
            addCriterion("publish_goods_trailer_link like", value, "publishGoodsTrailerLink");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsTrailerLinkNotLike(String value) {
            addCriterion("publish_goods_trailer_link not like", value, "publishGoodsTrailerLink");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsTrailerLinkIn(List<String> values) {
            addCriterion("publish_goods_trailer_link in", values, "publishGoodsTrailerLink");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsTrailerLinkNotIn(List<String> values) {
            addCriterion("publish_goods_trailer_link not in", values, "publishGoodsTrailerLink");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsTrailerLinkBetween(String value1, String value2) {
            addCriterion("publish_goods_trailer_link between", value1, value2, "publishGoodsTrailerLink");
            return (Criteria) this;
        }

        public Criteria andPublishGoodsTrailerLinkNotBetween(String value1, String value2) {
            addCriterion("publish_goods_trailer_link not between", value1, value2, "publishGoodsTrailerLink");
            return (Criteria) this;
        }

        public Criteria andPublishShopIdIsNull() {
            addCriterion("publish_shop_id is null");
            return (Criteria) this;
        }

        public Criteria andPublishShopIdIsNotNull() {
            addCriterion("publish_shop_id is not null");
            return (Criteria) this;
        }

        public Criteria andPublishShopIdEqualTo(Integer value) {
            addCriterion("publish_shop_id =", value, "publishShopId");
            return (Criteria) this;
        }

        public Criteria andPublishShopIdNotEqualTo(Integer value) {
            addCriterion("publish_shop_id <>", value, "publishShopId");
            return (Criteria) this;
        }

        public Criteria andPublishShopIdGreaterThan(Integer value) {
            addCriterion("publish_shop_id >", value, "publishShopId");
            return (Criteria) this;
        }

        public Criteria andPublishShopIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("publish_shop_id >=", value, "publishShopId");
            return (Criteria) this;
        }

        public Criteria andPublishShopIdLessThan(Integer value) {
            addCriterion("publish_shop_id <", value, "publishShopId");
            return (Criteria) this;
        }

        public Criteria andPublishShopIdLessThanOrEqualTo(Integer value) {
            addCriterion("publish_shop_id <=", value, "publishShopId");
            return (Criteria) this;
        }

        public Criteria andPublishShopIdIn(List<Integer> values) {
            addCriterion("publish_shop_id in", values, "publishShopId");
            return (Criteria) this;
        }

        public Criteria andPublishShopIdNotIn(List<Integer> values) {
            addCriterion("publish_shop_id not in", values, "publishShopId");
            return (Criteria) this;
        }

        public Criteria andPublishShopIdBetween(Integer value1, Integer value2) {
            addCriterion("publish_shop_id between", value1, value2, "publishShopId");
            return (Criteria) this;
        }

        public Criteria andPublishShopIdNotBetween(Integer value1, Integer value2) {
            addCriterion("publish_shop_id not between", value1, value2, "publishShopId");
            return (Criteria) this;
        }

        public Criteria andPublishShopNameIsNull() {
            addCriterion("publish_shop_name is null");
            return (Criteria) this;
        }

        public Criteria andPublishShopNameIsNotNull() {
            addCriterion("publish_shop_name is not null");
            return (Criteria) this;
        }

        public Criteria andPublishShopNameEqualTo(String value) {
            addCriterion("publish_shop_name =", value, "publishShopName");
            return (Criteria) this;
        }

        public Criteria andPublishShopNameNotEqualTo(String value) {
            addCriterion("publish_shop_name <>", value, "publishShopName");
            return (Criteria) this;
        }

        public Criteria andPublishShopNameGreaterThan(String value) {
            addCriterion("publish_shop_name >", value, "publishShopName");
            return (Criteria) this;
        }

        public Criteria andPublishShopNameGreaterThanOrEqualTo(String value) {
            addCriterion("publish_shop_name >=", value, "publishShopName");
            return (Criteria) this;
        }

        public Criteria andPublishShopNameLessThan(String value) {
            addCriterion("publish_shop_name <", value, "publishShopName");
            return (Criteria) this;
        }

        public Criteria andPublishShopNameLessThanOrEqualTo(String value) {
            addCriterion("publish_shop_name <=", value, "publishShopName");
            return (Criteria) this;
        }

        public Criteria andPublishShopNameLike(String value) {
            addCriterion("publish_shop_name like", value, "publishShopName");
            return (Criteria) this;
        }

        public Criteria andPublishShopNameNotLike(String value) {
            addCriterion("publish_shop_name not like", value, "publishShopName");
            return (Criteria) this;
        }

        public Criteria andPublishShopNameIn(List<String> values) {
            addCriterion("publish_shop_name in", values, "publishShopName");
            return (Criteria) this;
        }

        public Criteria andPublishShopNameNotIn(List<String> values) {
            addCriterion("publish_shop_name not in", values, "publishShopName");
            return (Criteria) this;
        }

        public Criteria andPublishShopNameBetween(String value1, String value2) {
            addCriterion("publish_shop_name between", value1, value2, "publishShopName");
            return (Criteria) this;
        }

        public Criteria andPublishShopNameNotBetween(String value1, String value2) {
            addCriterion("publish_shop_name not between", value1, value2, "publishShopName");
            return (Criteria) this;
        }

        public Criteria andPublishShopHeadImgIsNull() {
            addCriterion("publish_shop_head_img is null");
            return (Criteria) this;
        }

        public Criteria andPublishShopHeadImgIsNotNull() {
            addCriterion("publish_shop_head_img is not null");
            return (Criteria) this;
        }

        public Criteria andPublishShopHeadImgEqualTo(String value) {
            addCriterion("publish_shop_head_img =", value, "publishShopHeadImg");
            return (Criteria) this;
        }

        public Criteria andPublishShopHeadImgNotEqualTo(String value) {
            addCriterion("publish_shop_head_img <>", value, "publishShopHeadImg");
            return (Criteria) this;
        }

        public Criteria andPublishShopHeadImgGreaterThan(String value) {
            addCriterion("publish_shop_head_img >", value, "publishShopHeadImg");
            return (Criteria) this;
        }

        public Criteria andPublishShopHeadImgGreaterThanOrEqualTo(String value) {
            addCriterion("publish_shop_head_img >=", value, "publishShopHeadImg");
            return (Criteria) this;
        }

        public Criteria andPublishShopHeadImgLessThan(String value) {
            addCriterion("publish_shop_head_img <", value, "publishShopHeadImg");
            return (Criteria) this;
        }

        public Criteria andPublishShopHeadImgLessThanOrEqualTo(String value) {
            addCriterion("publish_shop_head_img <=", value, "publishShopHeadImg");
            return (Criteria) this;
        }

        public Criteria andPublishShopHeadImgLike(String value) {
            addCriterion("publish_shop_head_img like", value, "publishShopHeadImg");
            return (Criteria) this;
        }

        public Criteria andPublishShopHeadImgNotLike(String value) {
            addCriterion("publish_shop_head_img not like", value, "publishShopHeadImg");
            return (Criteria) this;
        }

        public Criteria andPublishShopHeadImgIn(List<String> values) {
            addCriterion("publish_shop_head_img in", values, "publishShopHeadImg");
            return (Criteria) this;
        }

        public Criteria andPublishShopHeadImgNotIn(List<String> values) {
            addCriterion("publish_shop_head_img not in", values, "publishShopHeadImg");
            return (Criteria) this;
        }

        public Criteria andPublishShopHeadImgBetween(String value1, String value2) {
            addCriterion("publish_shop_head_img between", value1, value2, "publishShopHeadImg");
            return (Criteria) this;
        }

        public Criteria andPublishShopHeadImgNotBetween(String value1, String value2) {
            addCriterion("publish_shop_head_img not between", value1, value2, "publishShopHeadImg");
            return (Criteria) this;
        }

        public Criteria andTrendsIdIsNull() {
            addCriterion("trends_id is null");
            return (Criteria) this;
        }

        public Criteria andTrendsIdIsNotNull() {
            addCriterion("trends_id is not null");
            return (Criteria) this;
        }

        public Criteria andTrendsIdEqualTo(Integer value) {
            addCriterion("trends_id =", value, "trendsId");
            return (Criteria) this;
        }

        public Criteria andTrendsIdNotEqualTo(Integer value) {
            addCriterion("trends_id <>", value, "trendsId");
            return (Criteria) this;
        }

        public Criteria andTrendsIdGreaterThan(Integer value) {
            addCriterion("trends_id >", value, "trendsId");
            return (Criteria) this;
        }

        public Criteria andTrendsIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("trends_id >=", value, "trendsId");
            return (Criteria) this;
        }

        public Criteria andTrendsIdLessThan(Integer value) {
            addCriterion("trends_id <", value, "trendsId");
            return (Criteria) this;
        }

        public Criteria andTrendsIdLessThanOrEqualTo(Integer value) {
            addCriterion("trends_id <=", value, "trendsId");
            return (Criteria) this;
        }

        public Criteria andTrendsIdIn(List<Integer> values) {
            addCriterion("trends_id in", values, "trendsId");
            return (Criteria) this;
        }

        public Criteria andTrendsIdNotIn(List<Integer> values) {
            addCriterion("trends_id not in", values, "trendsId");
            return (Criteria) this;
        }

        public Criteria andTrendsIdBetween(Integer value1, Integer value2) {
            addCriterion("trends_id between", value1, value2, "trendsId");
            return (Criteria) this;
        }

        public Criteria andTrendsIdNotBetween(Integer value1, Integer value2) {
            addCriterion("trends_id not between", value1, value2, "trendsId");
            return (Criteria) this;
        }

        public Criteria andVideoUrlIsNull() {
            addCriterion("video_url is null");
            return (Criteria) this;
        }

        public Criteria andVideoUrlIsNotNull() {
            addCriterion("video_url is not null");
            return (Criteria) this;
        }

        public Criteria andVideoUrlEqualTo(String value) {
            addCriterion("video_url =", value, "videoUrl");
            return (Criteria) this;
        }

        public Criteria andVideoUrlNotEqualTo(String value) {
            addCriterion("video_url <>", value, "videoUrl");
            return (Criteria) this;
        }

        public Criteria andVideoUrlGreaterThan(String value) {
            addCriterion("video_url >", value, "videoUrl");
            return (Criteria) this;
        }

        public Criteria andVideoUrlGreaterThanOrEqualTo(String value) {
            addCriterion("video_url >=", value, "videoUrl");
            return (Criteria) this;
        }

        public Criteria andVideoUrlLessThan(String value) {
            addCriterion("video_url <", value, "videoUrl");
            return (Criteria) this;
        }

        public Criteria andVideoUrlLessThanOrEqualTo(String value) {
            addCriterion("video_url <=", value, "videoUrl");
            return (Criteria) this;
        }

        public Criteria andVideoUrlLike(String value) {
            addCriterion("video_url like", value, "videoUrl");
            return (Criteria) this;
        }

        public Criteria andVideoUrlNotLike(String value) {
            addCriterion("video_url not like", value, "videoUrl");
            return (Criteria) this;
        }

        public Criteria andVideoUrlIn(List<String> values) {
            addCriterion("video_url in", values, "videoUrl");
            return (Criteria) this;
        }

        public Criteria andVideoUrlNotIn(List<String> values) {
            addCriterion("video_url not in", values, "videoUrl");
            return (Criteria) this;
        }

        public Criteria andVideoUrlBetween(String value1, String value2) {
            addCriterion("video_url between", value1, value2, "videoUrl");
            return (Criteria) this;
        }

        public Criteria andVideoUrlNotBetween(String value1, String value2) {
            addCriterion("video_url not between", value1, value2, "videoUrl");
            return (Criteria) this;
        }

        public Criteria andImgUrlIsNull() {
            addCriterion("img_url is null");
            return (Criteria) this;
        }

        public Criteria andImgUrlIsNotNull() {
            addCriterion("img_url is not null");
            return (Criteria) this;
        }

        public Criteria andImgUrlEqualTo(String value) {
            addCriterion("img_url =", value, "imgUrl");
            return (Criteria) this;
        }

        public Criteria andImgUrlNotEqualTo(String value) {
            addCriterion("img_url <>", value, "imgUrl");
            return (Criteria) this;
        }

        public Criteria andImgUrlGreaterThan(String value) {
            addCriterion("img_url >", value, "imgUrl");
            return (Criteria) this;
        }

        public Criteria andImgUrlGreaterThanOrEqualTo(String value) {
            addCriterion("img_url >=", value, "imgUrl");
            return (Criteria) this;
        }

        public Criteria andImgUrlLessThan(String value) {
            addCriterion("img_url <", value, "imgUrl");
            return (Criteria) this;
        }

        public Criteria andImgUrlLessThanOrEqualTo(String value) {
            addCriterion("img_url <=", value, "imgUrl");
            return (Criteria) this;
        }

        public Criteria andImgUrlLike(String value) {
            addCriterion("img_url like", value, "imgUrl");
            return (Criteria) this;
        }

        public Criteria andImgUrlNotLike(String value) {
            addCriterion("img_url not like", value, "imgUrl");
            return (Criteria) this;
        }

        public Criteria andImgUrlIn(List<String> values) {
            addCriterion("img_url in", values, "imgUrl");
            return (Criteria) this;
        }

        public Criteria andImgUrlNotIn(List<String> values) {
            addCriterion("img_url not in", values, "imgUrl");
            return (Criteria) this;
        }

        public Criteria andImgUrlBetween(String value1, String value2) {
            addCriterion("img_url between", value1, value2, "imgUrl");
            return (Criteria) this;
        }

        public Criteria andImgUrlNotBetween(String value1, String value2) {
            addCriterion("img_url not between", value1, value2, "imgUrl");
            return (Criteria) this;
        }

        public Criteria andTypeIsNull() {
            addCriterion("type is null");
            return (Criteria) this;
        }

        public Criteria andTypeIsNotNull() {
            addCriterion("type is not null");
            return (Criteria) this;
        }

        public Criteria andTypeEqualTo(Integer value) {
            addCriterion("type =", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotEqualTo(Integer value) {
            addCriterion("type <>", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeGreaterThan(Integer value) {
            addCriterion("type >", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("type >=", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeLessThan(Integer value) {
            addCriterion("type <", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeLessThanOrEqualTo(Integer value) {
            addCriterion("type <=", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeIn(List<Integer> values) {
            addCriterion("type in", values, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotIn(List<Integer> values) {
            addCriterion("type not in", values, "type");
            return (Criteria) this;
        }

        public Criteria andTypeBetween(Integer value1, Integer value2) {
            addCriterion("type between", value1, value2, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("type not between", value1, value2, "type");
            return (Criteria) this;
        }

        public Criteria andStatusIsNull() {
            addCriterion("status is null");
            return (Criteria) this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion("status is not null");
            return (Criteria) this;
        }

        public Criteria andStatusEqualTo(Integer value) {
            addCriterion("status =", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotEqualTo(Integer value) {
            addCriterion("status <>", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThan(Integer value) {
            addCriterion("status >", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("status >=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThan(Integer value) {
            addCriterion("status <", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThanOrEqualTo(Integer value) {
            addCriterion("status <=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusIn(List<Integer> values) {
            addCriterion("status in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotIn(List<Integer> values) {
            addCriterion("status not in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusBetween(Integer value1, Integer value2) {
            addCriterion("status between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("status not between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andDownloadNumIdIsNull() {
            addCriterion("download_num_id is null");
            return (Criteria) this;
        }

        public Criteria andDownloadNumIdIsNotNull() {
            addCriterion("download_num_id is not null");
            return (Criteria) this;
        }

        public Criteria andDownloadNumIdEqualTo(Integer value) {
            addCriterion("download_num_id =", value, "downloadNumId");
            return (Criteria) this;
        }

        public Criteria andDownloadNumIdNotEqualTo(Integer value) {
            addCriterion("download_num_id <>", value, "downloadNumId");
            return (Criteria) this;
        }

        public Criteria andDownloadNumIdGreaterThan(Integer value) {
            addCriterion("download_num_id >", value, "downloadNumId");
            return (Criteria) this;
        }

        public Criteria andDownloadNumIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("download_num_id >=", value, "downloadNumId");
            return (Criteria) this;
        }

        public Criteria andDownloadNumIdLessThan(Integer value) {
            addCriterion("download_num_id <", value, "downloadNumId");
            return (Criteria) this;
        }

        public Criteria andDownloadNumIdLessThanOrEqualTo(Integer value) {
            addCriterion("download_num_id <=", value, "downloadNumId");
            return (Criteria) this;
        }

        public Criteria andDownloadNumIdIn(List<Integer> values) {
            addCriterion("download_num_id in", values, "downloadNumId");
            return (Criteria) this;
        }

        public Criteria andDownloadNumIdNotIn(List<Integer> values) {
            addCriterion("download_num_id not in", values, "downloadNumId");
            return (Criteria) this;
        }

        public Criteria andDownloadNumIdBetween(Integer value1, Integer value2) {
            addCriterion("download_num_id between", value1, value2, "downloadNumId");
            return (Criteria) this;
        }

        public Criteria andDownloadNumIdNotBetween(Integer value1, Integer value2) {
            addCriterion("download_num_id not between", value1, value2, "downloadNumId");
            return (Criteria) this;
        }

        public Criteria andAddTimeIsNull() {
            addCriterion("add_time is null");
            return (Criteria) this;
        }

        public Criteria andAddTimeIsNotNull() {
            addCriterion("add_time is not null");
            return (Criteria) this;
        }

        public Criteria andAddTimeEqualTo(Date value) {
            addCriterion("add_time =", value, "addTime");
            return (Criteria) this;
        }

        public Criteria andAddTimeNotEqualTo(Date value) {
            addCriterion("add_time <>", value, "addTime");
            return (Criteria) this;
        }

        public Criteria andAddTimeGreaterThan(Date value) {
            addCriterion("add_time >", value, "addTime");
            return (Criteria) this;
        }

        public Criteria andAddTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("add_time >=", value, "addTime");
            return (Criteria) this;
        }

        public Criteria andAddTimeLessThan(Date value) {
            addCriterion("add_time <", value, "addTime");
            return (Criteria) this;
        }

        public Criteria andAddTimeLessThanOrEqualTo(Date value) {
            addCriterion("add_time <=", value, "addTime");
            return (Criteria) this;
        }

        public Criteria andAddTimeIn(List<Date> values) {
            addCriterion("add_time in", values, "addTime");
            return (Criteria) this;
        }

        public Criteria andAddTimeNotIn(List<Date> values) {
            addCriterion("add_time not in", values, "addTime");
            return (Criteria) this;
        }

        public Criteria andAddTimeBetween(Date value1, Date value2) {
            addCriterion("add_time between", value1, value2, "addTime");
            return (Criteria) this;
        }

        public Criteria andAddTimeNotBetween(Date value1, Date value2) {
            addCriterion("add_time not between", value1, value2, "addTime");
            return (Criteria) this;
        }

        public Criteria andAddByIsNull() {
            addCriterion("add_by is null");
            return (Criteria) this;
        }

        public Criteria andAddByIsNotNull() {
            addCriterion("add_by is not null");
            return (Criteria) this;
        }

        public Criteria andAddByEqualTo(String value) {
            addCriterion("add_by =", value, "addBy");
            return (Criteria) this;
        }

        public Criteria andAddByNotEqualTo(String value) {
            addCriterion("add_by <>", value, "addBy");
            return (Criteria) this;
        }

        public Criteria andAddByGreaterThan(String value) {
            addCriterion("add_by >", value, "addBy");
            return (Criteria) this;
        }

        public Criteria andAddByGreaterThanOrEqualTo(String value) {
            addCriterion("add_by >=", value, "addBy");
            return (Criteria) this;
        }

        public Criteria andAddByLessThan(String value) {
            addCriterion("add_by <", value, "addBy");
            return (Criteria) this;
        }

        public Criteria andAddByLessThanOrEqualTo(String value) {
            addCriterion("add_by <=", value, "addBy");
            return (Criteria) this;
        }

        public Criteria andAddByLike(String value) {
            addCriterion("add_by like", value, "addBy");
            return (Criteria) this;
        }

        public Criteria andAddByNotLike(String value) {
            addCriterion("add_by not like", value, "addBy");
            return (Criteria) this;
        }

        public Criteria andAddByIn(List<String> values) {
            addCriterion("add_by in", values, "addBy");
            return (Criteria) this;
        }

        public Criteria andAddByNotIn(List<String> values) {
            addCriterion("add_by not in", values, "addBy");
            return (Criteria) this;
        }

        public Criteria andAddByBetween(String value1, String value2) {
            addCriterion("add_by between", value1, value2, "addBy");
            return (Criteria) this;
        }

        public Criteria andAddByNotBetween(String value1, String value2) {
            addCriterion("add_by not between", value1, value2, "addBy");
            return (Criteria) this;
        }

        public Criteria andUpdTimeIsNull() {
            addCriterion("upd_time is null");
            return (Criteria) this;
        }

        public Criteria andUpdTimeIsNotNull() {
            addCriterion("upd_time is not null");
            return (Criteria) this;
        }

        public Criteria andUpdTimeEqualTo(Date value) {
            addCriterion("upd_time =", value, "updTime");
            return (Criteria) this;
        }

        public Criteria andUpdTimeNotEqualTo(Date value) {
            addCriterion("upd_time <>", value, "updTime");
            return (Criteria) this;
        }

        public Criteria andUpdTimeGreaterThan(Date value) {
            addCriterion("upd_time >", value, "updTime");
            return (Criteria) this;
        }

        public Criteria andUpdTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("upd_time >=", value, "updTime");
            return (Criteria) this;
        }

        public Criteria andUpdTimeLessThan(Date value) {
            addCriterion("upd_time <", value, "updTime");
            return (Criteria) this;
        }

        public Criteria andUpdTimeLessThanOrEqualTo(Date value) {
            addCriterion("upd_time <=", value, "updTime");
            return (Criteria) this;
        }

        public Criteria andUpdTimeIn(List<Date> values) {
            addCriterion("upd_time in", values, "updTime");
            return (Criteria) this;
        }

        public Criteria andUpdTimeNotIn(List<Date> values) {
            addCriterion("upd_time not in", values, "updTime");
            return (Criteria) this;
        }

        public Criteria andUpdTimeBetween(Date value1, Date value2) {
            addCriterion("upd_time between", value1, value2, "updTime");
            return (Criteria) this;
        }

        public Criteria andUpdTimeNotBetween(Date value1, Date value2) {
            addCriterion("upd_time not between", value1, value2, "updTime");
            return (Criteria) this;
        }

        public Criteria andUpdByIsNull() {
            addCriterion("upd_by is null");
            return (Criteria) this;
        }

        public Criteria andUpdByIsNotNull() {
            addCriterion("upd_by is not null");
            return (Criteria) this;
        }

        public Criteria andUpdByEqualTo(String value) {
            addCriterion("upd_by =", value, "updBy");
            return (Criteria) this;
        }

        public Criteria andUpdByNotEqualTo(String value) {
            addCriterion("upd_by <>", value, "updBy");
            return (Criteria) this;
        }

        public Criteria andUpdByGreaterThan(String value) {
            addCriterion("upd_by >", value, "updBy");
            return (Criteria) this;
        }

        public Criteria andUpdByGreaterThanOrEqualTo(String value) {
            addCriterion("upd_by >=", value, "updBy");
            return (Criteria) this;
        }

        public Criteria andUpdByLessThan(String value) {
            addCriterion("upd_by <", value, "updBy");
            return (Criteria) this;
        }

        public Criteria andUpdByLessThanOrEqualTo(String value) {
            addCriterion("upd_by <=", value, "updBy");
            return (Criteria) this;
        }

        public Criteria andUpdByLike(String value) {
            addCriterion("upd_by like", value, "updBy");
            return (Criteria) this;
        }

        public Criteria andUpdByNotLike(String value) {
            addCriterion("upd_by not like", value, "updBy");
            return (Criteria) this;
        }

        public Criteria andUpdByIn(List<String> values) {
            addCriterion("upd_by in", values, "updBy");
            return (Criteria) this;
        }

        public Criteria andUpdByNotIn(List<String> values) {
            addCriterion("upd_by not in", values, "updBy");
            return (Criteria) this;
        }

        public Criteria andUpdByBetween(String value1, String value2) {
            addCriterion("upd_by between", value1, value2, "updBy");
            return (Criteria) this;
        }

        public Criteria andUpdByNotBetween(String value1, String value2) {
            addCriterion("upd_by not between", value1, value2, "updBy");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}